home *** CD-ROM | disk | FTP | other *** search
/ Champak 140 / (Vol 140) Sep 19 2011.iso / Games / top_that_pizza.swf / scripts / DataProviderSymbol.as next >
Text File  |  2011-09-19  |  3KB  |  112 lines

  1. _global.DataProviderClass = function()
  2. {
  3.    this.init();
  4. };
  5. DataProviderClass.prototype.init = function()
  6. {
  7.    var _loc1_ = this;
  8.    _loc1_.items = new Array();
  9.    _loc1_.uniqueID = 0;
  10.    _loc1_.views = new Array();
  11. };
  12. DataProviderClass.prototype.addView = function(viewRef)
  13. {
  14.    this.views.push(viewRef);
  15.    var _loc1_ = {event:"updateAll"};
  16.    viewRef.modelChanged(_loc1_);
  17. };
  18. DataProviderClass.prototype.addItemAt = function(index, value)
  19. {
  20.    var _loc1_ = index;
  21.    var _loc2_ = this;
  22.    var _loc3_ = value;
  23.    if(_loc1_ < _loc2_.getLength())
  24.    {
  25.       _loc2_.items.splice(_loc1_,0,"tmp");
  26.    }
  27.    _loc2_.items[_loc1_] = new Object();
  28.    if(typeof _loc3_ == "object")
  29.    {
  30.       _loc2_.items[_loc1_] = _loc3_;
  31.    }
  32.    else
  33.    {
  34.       _loc2_.items[_loc1_].label = _loc3_;
  35.    }
  36.    _loc2_.items[_loc1_].__ID__ = _loc2_.uniqueID++;
  37.    var eventObj = {event:"addRows",firstRow:_loc1_,lastRow:_loc1_};
  38.    _loc2_.updateViews(eventObj);
  39. };
  40. DataProviderClass.prototype.addItem = function(value)
  41. {
  42.    this.addItemAt(this.getLength(),value);
  43. };
  44. DataProviderClass.prototype.removeItemAt = function(index)
  45. {
  46.    var _loc1_ = index;
  47.    var _loc2_ = this;
  48.    var tmpItm = _loc2_.items[_loc1_];
  49.    _loc2_.items.splice(_loc1_,1);
  50.    var _loc3_ = {event:"deleteRows",firstRow:_loc1_,lastRow:_loc1_};
  51.    _loc2_.updateViews(_loc3_);
  52.    return tmpItm;
  53. };
  54. DataProviderClass.prototype.removeAll = function()
  55. {
  56.    var _loc1_ = this;
  57.    _loc1_.items = new Array();
  58.    _loc1_.updateViews({event:"deleteRows",firstRow:0,lastRow:_loc1_.getLength() - 1});
  59. };
  60. DataProviderClass.prototype.replaceItemAt = function(index, itemObj)
  61. {
  62.    var _loc1_ = index;
  63.    var _loc2_ = this;
  64.    if(!(_loc1_ < 0 || _loc1_ >= _loc2_.getLength()))
  65.    {
  66.       var _loc3_ = _loc2_.getItemID(_loc1_);
  67.       if(typeof itemObj == "object")
  68.       {
  69.          _loc2_.items[_loc1_] = itemObj;
  70.       }
  71.       else
  72.       {
  73.          _loc2_.items[_loc1_].label = itemObj;
  74.       }
  75.       _loc2_.items[_loc1_].__ID__ = _loc3_;
  76.       _loc2_.updateViews({event:"updateRows",firstRow:_loc1_,lastRow:_loc1_});
  77.    }
  78. };
  79. DataProviderClass.prototype.getLength = function()
  80. {
  81.    return this.items.length;
  82. };
  83. DataProviderClass.prototype.getItemAt = function(index)
  84. {
  85.    return this.items[index];
  86. };
  87. DataProviderClass.prototype.getItemID = function(index)
  88. {
  89.    return this.items[index].__ID__;
  90. };
  91. DataProviderClass.prototype.sortItemsBy = function(fieldName, order)
  92. {
  93.    var _loc1_ = this;
  94.    _loc1_.items.sortOn(fieldName);
  95.    if(order == "DESC")
  96.    {
  97.       _loc1_.items.reverse();
  98.    }
  99.    _loc1_.updateViews({event:"sort"});
  100. };
  101. DataProviderClass.prototype.updateViews = function(eventObj)
  102. {
  103.    var _loc2_ = this;
  104.    var _loc3_ = eventObj;
  105.    var _loc1_ = 0;
  106.    while(_loc1_ < _loc2_.views.length)
  107.    {
  108.       _loc2_.views[_loc1_].modelChanged(_loc3_);
  109.       _loc1_ = _loc1_ + 1;
  110.    }
  111. };
  112.